﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FluentNHibernate.Mapping;
using Entidades;
using Persistencia.Mappings.Extensions;

namespace Persistencia.Mappings
{
    public class ProyectoMap : ClassMap<Proyecto>
    {
        /// <summary>
        /// Constructor por defecto
        /// </summary>
        public ProyectoMap()
        {
            Table("PROYECTO");
            
            this.DefaultMap();

            Map(x => x.Nombre).Column("Nombre");
            Map(x => x.Descripcion).Column("Descripcion");
            References(x => x.UsuarioCreacion).Column("UsuarioCreacion");
            Map(x => x.FechaCreacion).Column("FechaCreacion");
            References(x => x.Tipo).Column("Id_TipoProyecto");
            HasMany<Guion>(x => x.Guiones)
                .Table("GUION")
                //.Inverse()
                .KeyColumn("Id_Proyecto")
                .LazyLoad();
                //.Cascade.AllDeleteOrphan()
                //.Not.LazyLoad();
        }
    }
}